#pragma  once

namespace MomogenkyouSystem	{

#define DEFAULT_BUFFERSIZE		256
#define DEFAILT_BUFFERELEMENT	255

class UnicodeText
{
	static	int				m_nLanguage;

	static	BYTE			m_bComAttr[DEFAULT_BUFFERSIZE];	// The attributes of the composition string
	static	DWORD			m_dwCompos[DEFAULT_BUFFERSIZE];	//	The Composition
	static	wchar_t			m_szBuffer[DEFAULT_BUFFERSIZE];	//	Input String Buffer
	static	wchar_t			m_szComstr[DEFAULT_BUFFERSIZE];	//	Composition  Buffer
	static	wchar_t			m_szBackup[DEFAULT_BUFFERSIZE];	//	Backup Buffer
	
	static	void			SetCandidateWindow();
public:
	static	bool			Initialize();
	static	bool			Shutdown();
	static	HRESULT			WndProc(HWND hWnd, const size_t & uMsg, WPARAM wParam, LPARAM lParam);

	static	std::wstring	GetComposedString();
};

}